<HTML>
<HEAD>
<meta charset="UTF-8">
<title>RealtimeControllerFacade - amazon-chime-sdk</title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">amazon-chime-sdk</a>&nbsp;/&nbsp;<a href="../index.html">com.amazonaws.services.chime.sdk.meetings.realtime</a>&nbsp;/&nbsp;<a href="./index.html">RealtimeControllerFacade</a><br/>
<br/>
<h1>RealtimeControllerFacade</h1>
<code><span class="keyword">interface </span><span class="identifier">RealtimeControllerFacade</span></code>
<p><a href="./index.html">RealtimeControllerFacade</a> controls aspects meetings concerning realtime UX
that for performance, privacy, or other reasons should be implemented using
the most direct path. Callbacks generated by this interface should be
consumed synchronously and without business logic dependent on the UI state
where possible.</p>
<p>Events will be passed through <a href="../-realtime-observer/index.html">RealtimeObserver</a>, which in turn provides consumers the
volume/mute/signal/attendee callbacks that can be used to render in the UI.
Data Messages will be passed through <a href="../../com.amazonaws.services.chime.sdk.meetings.realtime.datamessage/-data-message-observer/index.html">DataMessageObserver</a>.</p>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
<h4><a href="add-realtime-data-message-observer.html">addRealtimeDataMessageObserver</a></h4>
</td>
<td>
<p>Subscribes to receive message on a topic, there could be multiple
observers per topic</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addRealtimeDataMessageObserver</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$addRealtimeDataMessageObserver(kotlin.String, com.amazonaws.services.chime.sdk.meetings.realtime.datamessage.DataMessageObserver)/topic">topic</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$addRealtimeDataMessageObserver(kotlin.String, com.amazonaws.services.chime.sdk.meetings.realtime.datamessage.DataMessageObserver)/observer">observer</span><span class="symbol">:</span>&nbsp;<a href="../../com.amazonaws.services.chime.sdk.meetings.realtime.datamessage/-data-message-observer/index.html"><span class="identifier">DataMessageObserver</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="add-realtime-observer.html">addRealtimeObserver</a></h4>
</td>
<td>
<p>Subscribes to real time events with an observer</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addRealtimeObserver</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$addRealtimeObserver(com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeObserver)/observer">observer</span><span class="symbol">:</span>&nbsp;<a href="../-realtime-observer/index.html"><span class="identifier">RealtimeObserver</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="add-realtime-transcript-event-observer.html">addRealtimeTranscriptEventObserver</a></h4>
</td>
<td>
<p>Subscribes to transcript event with an observer</p>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addRealtimeTranscriptEventObserver</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$addRealtimeTranscriptEventObserver(com.amazonaws.services.chime.sdk.meetings.realtime.TranscriptEventObserver)/observer">observer</span><span class="symbol">:</span>&nbsp;<a href="../-transcript-event-observer/index.html"><span class="identifier">TranscriptEventObserver</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="realtime-is-voice-focus-enabled.html">realtimeIsVoiceFocusEnabled</a></h4>
</td>
<td>
<p>Checks if Amazon Voice Focus is enabled.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">realtimeIsVoiceFocusEnabled</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="realtime-local-mute.html">realtimeLocalMute</a></h4>
</td>
<td>
<p>Mute the audio input.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">realtimeLocalMute</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="realtime-local-unmute.html">realtimeLocalUnmute</a></h4>
</td>
<td>
<p>Unmutes the audio input.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">realtimeLocalUnmute</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="realtime-send-data-message.html">realtimeSendDataMessage</a></h4>
</td>
<td>
<p>Send message via data channel. Messages are only expected to be sent after audio video has started,
otherwise will be ignored.
Even though one can send data messages to any valid topic,
in order to receive the messages from the given topic, one need to subscribed to the topic
by calling <a href="add-realtime-data-message-observer.html">addRealtimeDataMessageObserver</a>.
LifetimeMs specifies milliseconds for the given message can be stored in server side.
Up to 1024 messages may be stored for a maximum of 5 minutes.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">realtimeSendDataMessage</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$realtimeSendDataMessage(kotlin.String, kotlin.Any, kotlin.Int)/topic">topic</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$realtimeSendDataMessage(kotlin.String, kotlin.Any, kotlin.Int)/data">data</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$realtimeSendDataMessage(kotlin.String, kotlin.Any, kotlin.Int)/lifetimeMs">lifetimeMs</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="realtime-set-voice-focus-enabled.html">realtimeSetVoiceFocusEnabled</a></h4>
</td>
<td>
<p>Enable or disable Amazon Voice Focus (ML-based noise suppression) on the audio input.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">realtimeSetVoiceFocusEnabled</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$realtimeSetVoiceFocusEnabled(kotlin.Boolean)/enabled">enabled</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="remove-realtime-data-message-observer-from-topic.html">removeRealtimeDataMessageObserverFromTopic</a></h4>
</td>
<td>
<p>Unsubscribes from a message topic</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">removeRealtimeDataMessageObserverFromTopic</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$removeRealtimeDataMessageObserverFromTopic(kotlin.String)/topic">topic</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="remove-realtime-observer.html">removeRealtimeObserver</a></h4>
</td>
<td>
<p>Unsubscribes from real time events by removing the specified observer</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">removeRealtimeObserver</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$removeRealtimeObserver(com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeObserver)/observer">observer</span><span class="symbol">:</span>&nbsp;<a href="../-realtime-observer/index.html"><span class="identifier">RealtimeObserver</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="remove-realtime-transcript-event-observer.html">removeRealtimeTranscriptEventObserver</a></h4>
</td>
<td>
<p>Unsubscribes from transcript event by removing the specified observer</p>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeRealtimeTranscriptEventObserver</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.realtime.RealtimeControllerFacade$removeRealtimeTranscriptEventObserver(com.amazonaws.services.chime.sdk.meetings.realtime.TranscriptEventObserver)/observer">observer</span><span class="symbol">:</span>&nbsp;<a href="../-transcript-event-observer/index.html"><span class="identifier">TranscriptEventObserver</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
</tbody>
</table>
<h3>Inheritors</h3>
<table>
<tbody>
<tr>
<td>
<h4><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo/-audio-video-facade.html">AudioVideoFacade</a></h4>
</td>
<td>
<code><span class="keyword">interface </span><span class="identifier">AudioVideoFacade</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo/-audio-video-controller-facade/index.html"><span class="identifier">AudioVideoControllerFacade</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">RealtimeControllerFacade</span></a><span class="symbol">, </span><a href="../../com.amazonaws.services.chime.sdk.meetings.device/-device-controller/index.html"><span class="identifier">DeviceController</span></a><span class="symbol">, </span><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video/-video-tile-controller-facade/index.html"><span class="identifier">VideoTileControllerFacade</span></a><span class="symbol">, </span><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.audio.activespeakerdetector/-active-speaker-detector-facade/index.html"><span class="identifier">ActiveSpeakerDetectorFacade</span></a><span class="symbol">, </span><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.contentshare/-content-share-controller/index.html"><span class="identifier">ContentShareController</span></a><span class="symbol">, </span><a href="../../com.amazonaws.services.chime.sdk.meetings.analytics/-event-analytics-facade/index.html"><span class="identifier">EventAnalyticsFacade</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="../-default-realtime-controller/index.html">DefaultRealtimeController</a></h4>
</td>
<td>
<code><span class="keyword">class </span><span class="identifier">DefaultRealtimeController</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">RealtimeControllerFacade</span></a></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>
